/************************************************************************/
/* 
	lavf audio codec setting class
	author pengl
	date 2008-11-26
*/
/************************************************************************/
#pragma once

#include "common.h"

/************************************************************************/
/* 
differect audio codec identify values defined here
*/
/************************************************************************/
typedef enum LAVF_ACODEC_IDENTIFY{
	lavf_mp2,
	lavf_mp3,
	lavf_ac3,
	lavf_aac,
}LAVF_ACODEC_IDENTIFY;


/************************************************************************/
/* 
	struct lavfacodec_opts defined here
*/
/************************************************************************/
typedef struct s_lavfacodec_opts{
	LAVF_ACODEC_IDENTIFY acodec_name;
	int lavf_acodec;
	int lavf_bitrate;
}s_lavfacodec_opts, *Ps_lavfacodec_opts;



/************************************************************************/
/* 
	clavfacodec_opts class
	-oac lavc -lavcopts acodec=ac3:abitrate=192
	-oac lavc -lavcopts acodec=mp2:abitrate=96
	-oac copy
*/
/************************************************************************/
class MPLAYER_API clavfacodec_opts
{
public:
	clavfacodec_opts(void);
	~clavfacodec_opts(void);

	char *get_myname() const;
	void set_lavfacodec_opts(Ps_lavfacodec_opts opts);
	char *get_lavfacodec_opts();

protected:

	s_lavfacodec_opts m_s_lavfacodec_opts;
};
